package com.lingyun.mqttserver.service;

import java.util.List;

// modbus集成
public interface ModbusCommandService {
    // 计算需要设置下位机的modbus指令集
    List<String> generateModbusCommands(Integer deviceId, String port);

    // 处理接收到的数据请求命令，获取数据库设备地址的值
    String processModbusRequest(Integer deviceId, String requestHex);

    // 将响应数据更新到数据库
    int processModbusResponse(Integer deviceId, String requestHex, String responseHex, String port);


    /***
     *************下面对接MQTT发送指令****************
     */

    // MQTT设置下位机请求的设备Modbus
    int sendSettingUpdateClient(Integer deviceId, String port);

    // MQTT设置下位机请求服务端指令
    int sendSettingUpdateServer(Integer deviceId, String port);

    /**
     * // MQTT发送下位机获取的数据
     *
     * @param deviceId          屏幕id
     * @param modbus            询问指令
     * @param hardwareAddressId
     * @return 1成功 0失败
     */
    int sendGetLowerComputer(Integer deviceId, String modbus, String hardwareAddressId);

    int sendSetLowerComputer(Integer deviceId, String modbus);
}
